#ifndef VERIFICATIONCODE_H
#define VERIFICATIONCODE_H

#include <QWidget>
#include <QPaintEvent>
#include <QPainter>
#include <QTime>
#include <QTimer>
#include <QMouseEvent>  // 添加鼠标事件头文件

class VerificationCode : public QWidget
{
    Q_OBJECT

public:
    explicit VerificationCode(QWidget *parent = nullptr);
    ~VerificationCode();

    // 获取当前验证码
    QString getCode() const;

    // 生成新的验证码
    void generateNewCode();

signals:
    // 添加点击信号
    void clicked();

protected:
    void paintEvent(QPaintEvent *event) override;
    void mousePressEvent(QMouseEvent *event) override;  // 添加鼠标点击事件处理函数

private:
    QString m_code;  // 当前验证码
    QTimer *m_timer; // 用于干扰线动画效果

    // 生成随机验证码
    QString generateCode(int length = 4);
};

#endif // VERIFICATIONCODE_H
